//
//  HMStatus.swift
//  新浪微博
//
//  Created by 饶鹏伟 on 16/4/11.
//  Copyright © 2016年 饶鹏伟. All rights reserved.
//


//一条微博记录的模型
import UIKit

class HMStatus: NSObject {
    
    //唯一的一条微博记录
    var id: Int64 = 0
    /// 微博创建时间
    var created_at: String?
    /// 微博正文
    var text: String?
    /// 微博来源
    var source: String?
    /// 转发的数量
    var reposts_count: Int = 0
    /// 评论的数量
    var comments_count: Int = 0
    /// 赞的数量
    var attitudes_count: Int = 0

    //转发微博
    var retweeted_status: HMStatus?
    
    //用户属性
    var user: HMUser?
    
 
    //声明图片的数组属性
    var pic_urls: [HMStatusPicture]?
    
    
    //KVC赋值
    init(dict: [String : AnyObject]) {
        
        super.init()
        
        setValuesForKeysWithDictionary(dict)
    }
    
    
    
    override func setValue(value: AnyObject?, forKey key: String) {
        
        //需要判断key 是否是 user

        if key=="user"{
            
           // 字典转模型
            user=HMUser.init(dict: value as! [String : AnyObject])
            
        return
    }
        
        
       // 判断key 如果key是retweeted_status 取出来的是一个字典 需要转模型
        if key=="retweeted_status"{
            
           //字典转模型
            retweeted_status = HMStatus(dict: value as! [String : AnyObject])
            
            return
        }
        
        //判断key 如果key是pic_urls 说明取出来是一个图片数组 因为每条微博可能有多张图片
        if key=="pic_urls"{
            
           //遍历数组 获取字典转换为模型 添加到模型数组中
            let array=value as! [[String : String]]
            
            var tempArray = [HMStatusPicture]()
            
            for item in array{
                
               //字典转模型
                let pic=HMStatusPicture(dict: item)
                
                tempArray.append(pic)
            }
            
            //给属性赋值
            pic_urls=tempArray
            
            return
            
        }
        
        super.setValue(value, forKey: key)

  }
    
    //过滤不需要的属性
    
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
    }
    

}
